﻿using System;

namespace Smile.Mvvm.Service
{
    /// <summary>
    ///     Service interface wich manage sharing on social networks, mails and SMS.
    /// </summary>
    public interface IShareService
    {
        /// <summary>
        ///     Share a link.
        ///     - On Windows Phone : Share a link when the method is called.  
        ///     - On Windows 8 : Set the link to be shared when the Share Charm is called.
        /// </summary>
        ///
        /// <param name="uriString">The URI string.</param>
        /// <param name="title">    (optional) the title.</param>
        /// <param name="message">  (optional) the message.</param>
        void ShareLink(string uriString, string title = "", string description = "");

        /// <summary>
        ///     Share a link.
        ///      - On Windows Phone : Share a link when the method is called.  
        ///      - On Windows 8 : Set the link to be shared when the Share Charm is called.
        /// </summary>
        ///
        /// <param name="uri">    URI of the document.</param>
        /// <param name="title">  (optional) the title.</param>
        /// <param name="message">(optional) the message.</param>
        void ShareLink(Uri uri, string title = "", string description = "");

        /// <summary>Share by mail. (Windows Phone only)</summary>
        ///
        /// <param name="subject">The subject.</param>
        /// <param name="message">The message.</param>
        /// <param name="to">     (optional) to.</param>
        /// <param name="cc">     (optional) the Cc.</param>
        /// <param name="bcc">    (optional) the Bcc.</param>
        void ShareByMail(
            string subject, 
            string message, 
            string to = "", 
            string cc = "", 
            string bcc = ""); 
    }
}
